package com.springboot.love.service.impl;

import com.alibaba.fastjson.JSONObject;
import com.springboot.love.dao.LinkDao;
import com.springboot.love.entity.FriendLink;
import com.springboot.love.service.LinkService;
import com.springboot.love.utils.PageUtil;
import io.swagger.models.auth.In;
import net.sf.json.JSONArray;
import org.springframework.stereotype.Service;

import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;

/**
 * (link)表服务实现类
 */
@Service("linkService")
public class LinkServiceImpl implements LinkService {

    @Resource
    private LinkDao linkDao;


    /**
     * 查询多条数据
     * @return 对象列表
     */
    @Override
    public List<FriendLink> queryAllByLimit(PageUtil pageUtil) {
        return this.linkDao.queryAllByLimit(pageUtil);
    }


    @Override
    public int queryTotalByTime() {
        return linkDao.queryTotalByTime();
    }

    /**
     * 新增数据
     *
     */

    @Override
    public String insertLink(String linkName, String linkLink) {
        FriendLink link = new FriendLink();
        link.setLinkName(linkName);
        link.setLinkLink(linkLink);
        link.setLinkTime(new Date());
        int insert = linkDao.insert(link);
        JSONObject json = new JSONObject();
        if (insert>0){
            json.put("success",true);
            json.put("status", 200);
        }else {
            json.put("success",false);
            json.put("status", 200);
        }
        return json.toString();
    }
    /**
     * 修改数据
     */
    @Override
    public String updateLink(String linkId, String linkName, String linkLink) {
        FriendLink link = new FriendLink();
        link.setLinkId(Integer.parseInt(linkId));
        link.setLinkName(linkName);
        link.setLinkLink(linkLink);
        link.setLinkTime(new Date());
        int update = linkDao.updateById(link);
        JSONObject json = new JSONObject();
        if (update>0){
            json.put("success",true);
            json.put("status", 200);
        }else {
            json.put("success",false);
            json.put("status", 200);
        }
        return json.toString();
    }

    /**
     * 单个添加公告
     * @return
     */
    @Override
    public String deleteByIdLink(String linkId) {
        int deleteById = linkDao.deleteById(Integer.parseInt(linkId));
        JSONObject json = new JSONObject();
        if (deleteById>0){
            json.put("success",true);
            json.put("status", 200);
        }else {
            json.put("success",false);
            json.put("status", 200);
        }
        return json.toString();
    }

    /**
     * 批量删除公告
     * @param delete
     * @return
     */
    @Override
    public String deletesLink(String delete) {
        List<FriendLink> list2=(List<FriendLink>) JSONArray.toList(JSONArray.fromObject(delete), FriendLink.class);
        List<Integer> linkList = new ArrayList<>();
        for (FriendLink link : list2){
            linkList.add(link.getLinkId());
        }
        int deletesLink = linkDao.deleteBatchIds(linkList);
        JSONObject json = new JSONObject();
        if (deletesLink>0) {
            json.put("success",true);
            json.put("status", 200);
        }else {
            json.put("success",false);
            json.put("status", 200);
        }
        return json.toString();
    }
}